/*
    这里写一些实用的css样式,比如隐藏/居中什么的
*/

// 清楚浮动
.clearfix {
    &::after {
        display: table;
        content: '';
        clear: both;
    }
}

.text-right{
    text-align: right;
}

.float-right{
    float: right;
}

// 高度全屏
.full-height {
    height: 100%;
}
.min-full-height {
    min-height: 100%;
}
// 透明度
.ele-opacity0 {
    opacity: 0;
}
.ele-opacity1 {
    opacity: 1;
}

.ele-relative{
    position: relative;
}

// css3 模糊滤镜
.filter-blur {
    -webkit-filter: blur(3px) drop-shadow(5px 5px 5px #ccc);
    //兼容4.4以下手机没有滤镜情况
    opacity: .3;
}

// 隐藏,不在文档流中
.ele-hide {
    display: none!important;
}

// 遮罩层
.mask-layout {
    display: none;
    position: fixed;
    bottom: 0;
    right: 0;
    left: 0;
    top: 0;
    background-color: rgba(0,0,0,.5);
    //z-index: 9;
}

.loading-layout {
    position: relative;
    z-index: 999;
}
// 半透明遮罩层
.transparent-layout {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: rgba(0,0,0,.3);
}

// loading
.loading-content {
    position: fixed;
    width: .8rem;
    height: .8rem;
    background: rgba(40, 40, 40, 0.75);
    text-align: center;
    color: #FFFFFF;
    top: 45%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -webkit-border-radius: 0.05rem;

    p {
        color: #fff!important;
        margin-top: 65%;
        font-size: 0.17rem!important;
    }

    // 覆盖mui loading样式
    .mui-spinner {
        position: absolute;
        width: .3rem;
        height: .3rem;
        margin: auto;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;

        &::after {
            background-image:url('data:image/svg+xml;charset=utf-8,<svg viewBox=\'0 0 120 120\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'><defs><line id=\'l\' x1=\'60\' x2=\'60\' y1=\'7\' y2=\'27\' stroke=\'%23ffffff\' stroke-width=\'11\' stroke-linecap=\'round\'/></defs><g><use xlink:href=\'%23l\' opacity=\'.27\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(30 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(60 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(90 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(120 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(150 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.37\' transform=\'rotate(180 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.46\' transform=\'rotate(210 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.56\' transform=\'rotate(240 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.66\' transform=\'rotate(270 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.75\' transform=\'rotate(300 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.85\' transform=\'rotate(330 60,60)\'/></g></svg>');
        }
    }
}


// 文字下划线
.green-text-line {
    border-bottom: 1px solid #2cc57b;
}

// 换行
.break-word{
    word-break: break-all;
    word-wrap: break-word;
}

// 文字省略
.text-dot {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

// 多行文字省略
.rows-text-dot {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;//超出行数
    -webkit-box-orient: vertical;
}

//子元素居中,有个缺点:宽度可能需要另外再调整
//deprecated, 请使用flex-center
.ele-center{
    display: block;
    width: 80%;
    margin: 0 auto;
    text-align: center;
}

//让子元素在容器内水平/垂直居中
.flex-center {
    display: -webkit-box;
    display: -webkit-flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
}


/*
  @deprecated 写得不好。不用它了,后面会添加flex
    这里默认是换行的,如果只使用flex-box-row的话,注意为item设置宽度
    但如果容器里的项目使用flex-item,则是不会换行的.
*/
.flex-box-row{
    *{
        display: block;
    }
    //position: relative;
    display: -ms-flexbox;      /* TWEENER - IE 10 */
    display: -moz-box;         /* OLD - Firefox 19- (buggy but mostly works) */
    display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 */
    display: -webkit-flex;     /* NEW - Chrome */
    display: flex;             /* NEW, Spec - Opera 12.1, Firefox 20+ */

    -ms-flex-align: center;
    -moz-box-align: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;

    -ms-flex-wrap: wrap;
    //FF好像只写flex-wrap就可以了
    -webkit-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;

    .flex-item{
        text-align: center;
        -ms-flex: 1;              /* IE 10 */
        -moz-box-flex: 1;         /* OLD - Firefox 19- */
        -webkit-box-flex: 1;      /* OLD - iOS 6-, Safari 3.1-6 */
        -webkit-flex: 1;
        flex: 1;
    }
}

/*
 @deprecated
 方向为纵向,其他说明同上
*/
.flex-box-col{
    *{
        display: block;
    }
    //position: relative;
    display: -ms-flexbox;      /* TWEENER - IE 10 */
    display: -moz-box;         /* OLD - Firefox 19- (buggy but mostly works) */
    display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 */
    display: -webkit-flex;     /* NEW - Chrome */
    display: flex;             /* NEW, Spec - Opera 12.1, Firefox 20+ */

    -ms-flex-direction: column;
    -moz-box-orient: vertical;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    flex-direction: column;

    -ms-flex-align: center;
    -moz-box-align: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;

    .flex-item{
        text-align: center;
        -ms-flex: 1;              /* IE 10 */
        -moz-box-flex: 1;         /* OLD - Firefox 19- */
        -webkit-box-flex: 1;      /* OLD - iOS 6-, Safari 3.1-6 */
        -webkit-flex: 1;
        flex: 1;
    }
}

//鼓励使用这个
.flex {
    display: -webkit-box;
    display: -webkit-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;

    &.col {
        -webkit-box-orient: vertical; //低版本中item必须为块级元素
        -webkit-flex-direction: column;
    }

    &.block {
        display: block;
    }

    &.center {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
    }

    &.space-between {
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
    }

    &.space-around {
        -webkit-box-pack: justify; //低版本没有space-around属性
        -webkit-justify-content: space-around;
    }

    .align-start {
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
    }

    .align-end {
        -webkit-box-align: end;
        -webkit-align-items: flex-end;
    }

    .flex-item {
        //TODO -webkit-box item必须为block元素，使用时注意，这里就不强制写在样式里了
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        text-align: center;
    }
}
